package book.nettyinaction.ch05;

import io.netty.buffer.ByteBuf;

public class Demo002DirectBufferZone {

    public static void main(String[] args) {
        ByteBuf directBuf = null;
        if ( !directBuf.hasArray() ) {  // 检查 ByteBuf 是否由数组支撑。 false 则表示这是一个直接缓冲区
            int length = directBuf.readableBytes();  // 获取可读字节数
            byte[] array = new byte[length];  // 分配一个新的数组来保存具有该长度的字节数据
            directBuf.getBytes(directBuf.readerIndex(), array);  // 将字节复制到该数组
            handleArray(array, 0, length);  // 使用数组、偏移量、长度作为参数调用你的方法
        }
    }

    private static void handleArray(byte[] array, int i, int length) {
    }
}
